package main

import (
	"file_upload/common"
	"fmt"
	"log"
	"net/http"
	"os"

	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.POST("/upload", func(c *gin.Context) {
		_, headers, err := c.Request.FormFile("file")
		if err != nil {
			log.Printf("Error when try to get file: %v", err)
		}
		//headers.Size 获取文件大小
		if headers.Size > 1024*20 {
			fmt.Println("文件太大了")
			return
		}
		//headers.Header.Get("Content-Type")获取上传文件的类型
		if headers.Header.Get("Content-Type") != "image/webp" {
			fmt.Println("只允许上传webp图片")
			return
		}
		up := common.FormatXML()
		// 判断路径是否存在，否则创建一个
		if !common.IsPathExist(up.SavePath) {
			err := os.Mkdir(up.SavePath,0777)//创建路径，0777表示所有人有读、写、执行文件权限
			if err != nil {
				fmt.Println(err)
			}
		}
		c.SaveUploadedFile(headers,up.SavePath + headers.Filename)
		c.String(http.StatusOK, headers.Filename)
	})
	r.Run()
}